package com.baomidou.springboot.bean;
import org.springframework.web.bind.annotation.CrossOrigin;

import com.baomidou.springboot.result.JsonResult;

/**
 * Author: FUNKYE
 * Email: 364176773@qq.com
 * Date: 19/6/1
 * Time: 下午1:37
 * Describe: 基础控制器
 */
//@CrossOrigin(origins = {"http://api.17bbt.cn","http://17bbt.cn","http://www.17bbt.cn","http://admin.17bbt.cn","http://192.168.14.90:8020"},maxAge=18000L)
@CrossOrigin(origins = "*",maxAge=18000L)
public class BaseController { 
    /**
     * 渲染失败数据
     *
     * @return result
     */
    protected JsonResult renderError() {
        JsonResult result = new JsonResult();
        result.setSuccess(false);
        result.setStatus("500");
        return result;
    }

    /**
     * 渲染失败数据（带消息）
     *
     * @param msg 需要返回的消息
     * @return result
     */
    protected JsonResult renderError(String msg) {
        JsonResult result = renderError();
        result.setMsg(msg);
        return result;
    }
    

    /**
     * 渲染失败数据（带消息跟对象）
     *
     * @param msg 需要返回的消息
     * @param status 需要状态码
     * @return result
     */
    protected JsonResult renderError(String msg,String status) {
    	JsonResult result = new JsonResult();
    	result.setStatus(status);
    	result.setSuccess(false);
    	result.setMsg(msg);
    	return result;
    }
    /**
     * 渲染失败数据（带消息跟对象）
     *
     * @param msg 需要返回的消息
     * @param obj 需要返回的对象
     * @return result
     */
    protected JsonResult renderError(String msg,Object obj,String status) {
    	JsonResult result = new JsonResult();
    	result.setStatus(status);
    	result.setSuccess(false);
    	result.setMsg(msg);
    	result.setObj(obj);
    	return result;
    }

    /**
     * 渲染成功数据
     *
     * @return result
     */
    protected JsonResult renderSuccess() {
        JsonResult result = new JsonResult();
        result.setSuccess(true);
        result.setStatus("200");
        return result;
    }

    /**
     * 渲染成功数据（带信息）
     * @param Object 
     *
     * @param msg 需要返回的信息
     * @return result
     */
    protected JsonResult renderSuccess(Object obj, String status) {
        JsonResult result = renderSuccess();
        result.setMsg("成功");
        result.setStatus(status);
        result.setObj(obj);
        return result;
    }
    /**
     * 渲染成功数据（带信息及对象）
     *
     * @param msg 需要返回的信息
     * @param obj 需要返回的对象
     * @return result
     */
    protected JsonResult renderSuccess(String msg,Object obj) {
    	JsonResult result = renderSuccess();
    	result.setMsg(msg);
    	result.setObj(obj);
    	return result;
    }

    /**
     * 渲染成功数据（带数据）
     *
     * @param obj 需要返回的对象
     * @return result
     */
    protected JsonResult renderSuccess(Object obj) {
        JsonResult result = renderSuccess();
        result.setObj(obj);
        return result;
    }
    
    protected JsonResult renderSuccess(String msg) {
    	JsonResult result = renderSuccess();
    	result.setMsg(msg);
    	return result;
    }
}